Compiler optimization for CPU familes

Fortunately or unfortunately, we have various CPU families used in the build, test, and production families. They include UltraSparc II's, UltraSparc III's, and UltraSparc IV+'s.
In this scenario, can I use -fast option for optimization of my sources? If not, which would be the best options that I can go for it?
I appreciate your efforts in advance...
-Saravanan Kannan

The -fast option generates code tor the exact processor that runs the compilation. The resulting code might not run on an earlier processor, and in might not run as well on other processors compared to just using the generat -xO4 flag.
The combination
-xO4 -xarch=v8plusa -xtarget=ultra3
will generate well-optimized code that runs best on Ultra III, but will also run on Ultra II and IV.
It would be a good idea to build with and without the -xtarget option, and compare performance on all systems. You cannot predict in advance whether overall performance across systems will be better with or without the option.
You should also experiment with -xO5. It often gives better performance, but leads to larger code size. Sometimes the larger code size results in more paging at run time, destroying the benefits of micro-optimization.
See also this forum article:
http://forum.sun.com/jive/thread.jspa?threadID=108492

Similar Messages

  • Kernel patch for more CPU families offers measurable speed increases

    I wanted to show folks a pretty nice patch that allows one more options when compiling a kernel for CPU families.  Complete list included at the bottom of this post.  I tested it using three different x86_64 machines running a generic x86-64 kernel and an otherwise identical kernel running with the optimized gcc options.
    Conclusion: There are small but real speed increases using a make endpoint to building with this patch.
    Details:
    1) Three test machines: Intel Xeon X3360, Intel i7-2620M, Intel Core i7-3660K.
    2) All ran the make benchmark (linked below) 35 times while booted into a 'generic' kernel. Then all ran the same make benchmark 35 times after booting into an optimized kernel. Below are the optimizations chosen for each machine.
    2a) X3360 = core2
    2b) i7-2620M = corei7-avx
    2c) i7-3660K = core-avx-i
    3) Analyzed resulting distributions for statistical significance via ANOVA plots that clearly show statistically significant albeit small differences.
    Discussion
    1) All the assumptions for ANOVA are met:
    *Data are normally distributed as show in the normal quantile plots.
    *The population variances are fairly equal (Levene and Barlett tests).
    2) The ANOVA plots clearly show significance.
    *Pair-wise analysis by Tukey-Kramer shows significance at the 0.05 level for all CPUs compared.
    Below are the differences in median values:
    core2       +87.5 ms
    corei7-avx  +79.7 ms
    core-avx-i  +257.2 ms
    References:
    Kernel patch: https://github.com/graysky2/kernel_gcc_patch
    Bash script that controls the benchmark: https://github.com/graysky2/bin/blob/master/bench
    Log file generated by script: http://repo-ck.com/bench/compile_time_o … ion.txt.gz
    Links to ANOVA plots:
    Complete list of x86_64 CPU Families:
    1. AMD Opteron/Athlon64/Hammer/K8 (MK8)
    2. AMD 61xx/7x50/PhenomX3/X4/II/K10 (MAMDFAM10) (NEW)
    3. AMD Barcelona (MBARCELONA) (NEW)
    4. AMD Bobcat (MBOBCAT) (NEW)
    5. AMD Bulldozer (MBULLDOZER) (NEW)
    6. AMD Piledriver (MPILEDRIVER) (NEW)
    7. Intel P4 / older Netburst based Xeon (MPSC)
    8. Intel Core 2 (MCORE2)
    9. Intel Core i7 (MCOREI7) (NEW)
    11. Intel Core 2nd Gen AVX (MCOREI7AVX) (NEW)
    12. Intel Core 3rd Gen AVX (MCOREAVXI) (NEW)
    13. Intel Core AVX-2 (MCOREAVX2) (NEW)
    14. Intel Atom (MATOM)
    15. Generic-x86-64 (GENERIC_CPU)
    Complete list of i686 CPU Families:
    1. 386 (M386)
    2. 486 (M486)
    3. 586/K5/5x86/6x86/6x86MX (M586)
    4. Pentium-Classic (M586TSC)
    5. Pentium-MMX (M586MMX)
    6. Pentium-Pro (M686)
    7. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII)
    8. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII)
    9. Pentium M (MPENTIUMM)
    10. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon (MPENTIUM4)
    11. AMD K6/K6-II/K6-III (MK6)
    12. AMD Athlon/Duron/K7 (MK7)
    13. AMD Opteron/Athlon64/Hammer/K8 (MK8)
    14. AMD 61xx/7x50/PhenomX3/X4/II/K10 (MAMDFAM10) (NEW)
    15. AMD Barcelona (MBARCELONA) (NEW)
    16. AMD Bobcat (MBOBCAT) (NEW)
    17. AMD Bulldozer (MBULLDOZER) (NEW)
    18. AMD Piledriver (MPILEDRIVER) (NEW)
    19. Crusoe (MCRUSOE)
    20. Efficeon (MEFFICEON)
    21. Winchip-C6 (MWINCHIPC6)
    22. Winchip-2/Winchip-2A/Winchip-3 (MWINCHIP3D)
    23. AMD Elan (MELAN)
    24. GeodeGX1 (MGEODEGX1)
    25. Geode GX/LX (MGEODE_LX)
    26. CyrixIII/VIA-C3 (MCYRIXIII)
    27. VIA C3-2 (Nehemiah) (MVIAC3_2)
    28. VIA C7 (MVIAC7)
    29. Intel Core 2 (MCORE2)
    30. Intel Core i7 (MCOREI7) (NEW)
    31. Intel Core 2nd Gen AVX (MCOREI7AVX) (NEW)
    32. Intel Core 3rd Gen AVX (MCOREAVXI) (NEW)
    33. Intel Core AVX-2 (MCOREAVX2) (NEW)
    34. Intel Atom (MATOM)
    Last edited by graysky (2013-01-16 19:14:09)

    graysky wrote:Practically, why do you need more than a few frequencies?  For example, you're idle.  I would want the lowest freq.  You're under load.  I would want the highest frequency.  For situations in between, say launching a program, or moving data, whatever, an intermediate frequency would be fine.  What do you hope to achieve with a more refined list of available frequencies?
    I agree, your CPU, in practice, is really either idle or loaded.
    In my case (AMD 965, 4 freq steps) the processor is at lowest freq for about 90 - 95% of a time, and at highest for 5 - 10%. The 2 intermediate are used for about 0.1% of a time.
    My guess would be that intermediate ones are only used for smooth transition from lowest to highest. So they really are hardware dependent...

  • In-Place Element Structures, References and Pointers, Compiler Optimization, and General Stupidity

    [The title of this forum is "Labview Ideas". Although this is NOT a direct suggestion for a change or addition to Labview, it seems appropriate to me to post it in this forum.]
    In-Place Element Structures, References and Pointers, Compiler Optimization, and General Stupidity
    I'd like to see NI actually start a round-table discussion about VI references, Data Value references, local variables, compiler optimizations, etc. I'm a C programmer; I'm used to pointers. They are simple, functional, and well defined. If you know the data type of an object and have a pointer to it, you have the object. I am used to compilers that optimize without the user having to go to weird lengths to arrange it. 
    The 'reference' you get when you right click and "Create Reference" on a control or indicator seems to be merely a shorthand read/write version of the Value property that can't be wired into a flow-of-control (like the error wire) and so causes synchronization issues and race conditions. I try not to use local variables.
    I use references a lot like C pointers; I pass items to SubVIs using references. But the use of references (as compared to C pointers) is really limited, and the implementation is insconsistent, not factorial in capabilites, and buggy. For instance, why can you pass an array by reference and NOT be able to determine the size of the array EXCEPT by dereferencing it and using the "Size Array" VI? I can even get references for all array elements; but I don't know how many there are...! Since arrays are represented internally in Labview as handles, and consist of basically a C-style pointer to the data, and array sizing information, why is the array handle opaque? Why doesn't the reference include operators to look at the referenced handle without instantiating a copy of the array? Why isn't there a "Size Array From Reference" VI in the library that doesn't instantiate a copy of the array locally, but just looks at the array handle?
    Data Value references seem to have been invented solely for the "In-Place Element Structure". Having to write the code to obtain the Data Value Reference before using the In-Place Element Structure simply points out how different a Labview reference is from a C pointer. The Labview help page for Data Value References simply says "Creates a reference to data that you can use to transfer and access the data in a serialized way.".  I've had programmers ask me if this means that the data must be accessed sequentially (serially)...!!!  What exactly does that mean? For those of use who can read between the lines, it means that Labview obtains a semaphore protecting the data references so that only one thread can modify it at a time. Is that the only reason for Data Value References? To provide something that implements the semaphore???
    The In-Place Element Structure talks about minimizing copying of data and compiler optimization. Those kind of optimizations are built in to the compiler in virtually every other language... with no special 'construct' needing to be placed around the code to identify that it can be performed without a local copy. Are you telling me that the Labview compiler is so stupid that it can't identify certain code threads as needing to be single-threaded when optimizing? That the USER has to wrap the code in semaphores before the compiler can figure out it should optimize??? That the compiler cannot implement single threading of parts of the user's code to improve execution efficiency?
    Instead of depending on the user base to send in suggestions one-at-a-time it would be nice if NI would actually host discussions aimed at coming up with a coherent and comprehensive way to handle pointers/references/optimization etc. One of the reasons Labview is so scattered is because individual ideas are evaluated and included without any group discussion about the total environment. How about a MODERATED group, available by invitation only (based on NI interactions with users in person, via support, and on the web) to try and get discussions about Labview evolution going?
    Based solely on the number of Labview bugs I've encountered and reported, I'd guess this has never been done, with the user community, or within NI itself.....

    Here are some articles that can help provide some insights into LabVIEW programming and the LabVIEW compiler. They are both interesting and recommended reading for all intermediate-to-advanced LabVIEW programmers.
    NI LabVIEW Compiler: Under the Hood
    VI Memory Usage
    The second article is a little out-of-date, as it doesn't discuss some of the newer technologies available such as the In-Place Element Structure you were referring to. However, many of the general concepts still apply. Some general notes from your post:
    1. I think part of your confusion is that you are trying to use control references and local variables like you would use variables in a C program. This is not a good analogy. Control references are references to user interface controls, and should almost always be used to control the behavior and appearance of those controls, not to store or transmit data like a pointer. LabVIEW is a dataflow language. Data is intended to be stored or transmitted through wires in most cases, not in references. It is admittedly difficult to make this transition for some text-based programmers. Programming efficiently in LabVIEW sometimes requires a different mindset.
    2. The LabVIEW compiler, while by no means perfect, is a complicated, feature-rich set of machinery that includes a large and growing set of optimizations. Many of these are described in the first link I posted. This includes optimizations you'd find in many programming environments, such as dead code elimination, inlining, and constant folding. One optimization in particular is called inplaceness, which is where LabVIEW determines when buffers can be reused. Contrary to your statement, the In-Place Element Structure is not always required for this optimization to take place. There are many circumstances (dating back years before the IPE structure) where LabVIEW can determine inplaceness and reuse buffers. The IPE structure simply helps users enforce inplaceness in some situations where it's not clear enough on the diagram for the LabVIEW compiler to make that determination.
    The more you learn about programming in LabVIEW, the more you realize that inplaceness itself is the closest analogy to pointers in C, not control references or data references or other such things. Those features have their place, but core, fundamental LabVIEW programming does not require them.
    Jarrod S.
    National Instruments

  • High "CPU + Wait for CPU" event on pl/sql execute operation

    I am executing a pl/sql in 256 parallel sessions, on 11G r2 DB (RAC 2 nodes), on a 42core IBM P7 Machine.
    PL/sql function opens a cursor on a huge table with around 20M rows and does further processing.
    Work-load is equally divided into 256 parallel sessions. 256 parallel sessions are opened by a middle-ware application and each session processes data based on an identifier (there are 256 distinct identifier values).
    PL/sql function is comprised of some SQL operations, on which i am experiencing some cluster waits. But CPU + wait for CPU event on pl/sql execute operation is close to 80% of the total execution time.
    Top user events:
    Event Event Class % Event Avg Active Sessions
    CPU + Wait for CPU CPU 80.88 98.15
    gc current block 2-way Cluster 3.33 4.05
    gc cr block busy Cluster 2.01 2.44
    gc cr block 2-way Cluster 1.97 2.39
    db file sequential read User I/O 1.81 2.20
    Top SQL command type:
    SQL Command Type Distinct SQLIDs % Activity Avg Active Sessions
    PL/SQL EXECUTE 3 60.99 74.02
    SELECT 66 12.90 15.65
    INSERT 24 9.89 12.01
    UPDATE 9 6.00 7.28
    DELETE 2 1.33 1.61Rest of the SQL queries seem to be very optimum, but waits on pl/sql execute operation are causing very low tps.
    Can anybody give me some heads-up about where to and what to look for to resolve?
    Please let me know if any extra information is required.

    AWR report :
    Header
    DB      Name      DB Id           Instance      Inst num      Startup Time           Release RAC
    FCR           1304316316      fcrypp1      1                01-12ÔÂ-12 04:12      11.2.0.2.0 YES
    Host           Name Platform                     CPUs      Cores      Sockets Memory (GB)
    z4ci2011      AIX-Based Systems (64-bit)      168      42        320.00
                   Snap Id      Snap Time                     Sessions      Cursors/Session
    Begin Snap: 40650           01-12ÔÂ-12 06:40:03      1203           5.8
    End Snap:      40669           01-12ÔÂ-12 09:50:01      1122           5.3
    Elapsed:        189.96 (mins)    
    DB Time:        22,251.65 (mins)
    Load profile
    Per Second           Per Transaction      Per Exec      Per Call
    DB Time(s):           117.1                19.5                     0.00           3.89
    DB CPU(s):                16.1                2.7                     0.00           0.53
    Redo size:                12,759,186.3      2,126,361.0    
    Logical reads:           181,875.9           30,310.2    
    Block changes:           54,515.5           9,085.2    
    Physical reads:      1,340.3           223.4    
    Physical writes:      8,788.9           1,464.7    
    User calls:           30.1                5.0    
    Parses:                26.5                4.4    
    Hard parses:           0.4                0.1    
    W/A MB processed:      8.5                1.4    
    Logons:                0.1                0.0    
    Executes:                41,176.0           6,862.1    
    Rollbacks:                1.9                0.3    
    Transactions:           6.0      
    Time model statistics
    Statistic Name                                             Time (s)          % of DB Time
    sql execute elapsed time                              1,334,935.55     99.99
    PL/SQL execution elapsed time                         1,180,376.60     88.41
    DB CPU                                                       182,904.44          13.7
    repeated bind elapsed time                              292.83               0.02
    sequence load elapsed time                              279.75               0.02
    parse time elapsed                                        87.4               0.01
    hard parse elapsed time                                   22.52               0
    failed parse elapsed time                              5.12               0
    connection management call elapsed time               4.61               0
    PL/SQL compilation elapsed time                         1.91               0
    hard parse (sharing criteria) elapsed time          0.49               0
    hard parse (bind mismatch) elapsed time               0.39               0
    inbound PL/SQL rpc elapsed time                         0.1     0
    DB time                                                       1,335,099.30     
    background elapsed time                                   33,298.67     
    background cpu time                                        11,692.76     
    Operating System Statistics
    Statistic Value End Value
    AVG_BUSY_TIME 202,428  
    AVG_IDLE_TIME 936,397  
    AVG_IOWAIT_TIME 4,124  
    AVG_SYS_TIME 84,480  
    AVG_USER_TIME 117,573  
    BUSY_TIME 34,074,303  
    IDLE_TIME 157,378,825  
    IOWAIT_TIME 755,368  
    SYS_TIME 14,256,010  
    USER_TIME 19,818,293  
    LOAD 21 10
    OS_CPU_WAIT_TIME 23,770,800  
    VM_IN_BYTES 20,496  
    VM_OUT_BYTES 2,086,940,520  
    PHYSICAL_MEMORY_BYTES 343,597,383,680  
    NUM_CPUS 168  
    NUM_CPU_CORES 42  
    NUM_LCPUS 168  
    NUM_VCPUS 42  
    GLOBAL_RECEIVE_SIZE_MAX 41,943,040  
    GLOBAL_SEND_SIZE_MAX 41,943,040  
    TCP_RECEIVE_SIZE_DEFAULT 16,384  
    TCP_RECEIVE_SIZE_MAX 9,223,372,036,854,775,807  
    TCP_RECEIVE_SIZE_MIN 4,096  
    TCP_SEND_SIZE_DEFAULT 16,384  
    TCP_SEND_SIZE_MAX 9,223,372,036,854,775,807  
    TCP_SEND_SIZE_MIN 4,096
    SQL ordered by CPU Time
    CPU Time (s)      Executions       CPU per Exec (s) %Total      Elapsed Time (s)      %CPU      %IO      SQL Id SQL Module SQL Text
    180,330.13           127                1,419.92                98.59      1,326,401.03           13.60      1.08      04kt8u64udphu    BEGIN :1 := ap_ch_eod_shell_en...
    8,025.48           9,868,469           0.00                     4.39      10,809.88                74.24      9.21      arnkbsnzhha77 ch_txn_shell_115  SELECT * FROM CH_ACCT_MAST WHE...
    6,117.64           9,873,495           0.00                     3.34      8,557.64                71.49      7.14      8qcryvj294s79 ch_eod_shell_138  UPDATE CH_ACCT_MAST_PAR SET DA...
    4,614.71           3,185,313           0.00                     2.52      11,130.77                41.46      11.88      b75wwkxw34x2k ch_eod_shell_228  INSERT INTO CH_TMP_XF_GL_TXNS ...
    4,374.29           9,866,217           0.00                     2.39      5,876.00                74.44      37.88      g22p493ra2zr5 ch_eod_shell_248  UPDATE CH_ACCT_MAST SET BAL_LA...
    3,514.57           14,026,451           0.00                     1.92      6,274.60                56.01      29.55      7bwhphfnnuqpr ch_eod_shell_59  INSERT INTO CH_ACCT_INT_BREAKU...
    3,253.36           3,185,706           0.00                     1.78      3,875.42                83.95      9.20      9dq134q9btxq8 ch_eod_shell_74  INSERT INTO CH_ST_CAP_INPUT_TX...
    3,131.64           9,875,603           0.00                     1.71      5,338.43                58.66      15.55      6xhwk1b37rh1t ch_txn_shell_143  UPDATE CH_ACCT_ATTRIBUTES SET ...
    2,954.15           9,878,718           0.00                     1.62      5,692.88                51.89      13.22      b4at7uq2hw6r7 ch_sweepin_shell  SELECT TRIM(A.COD_PKG) FROM RP...
    2,572.01           9,867,277           0.00                     1.41      4,605.88                55.84      12.58      54ud0a8tuwwbc ch_txn_shell_17  SELECT * FROM CH_ACCT_ATTRIBUT...
    1,941.29           19,730,455           0.00                     1.06      5,580.38                34.79      7.02      dx5kng8qu560t ch_txn_shell_59  UPDATE CH_ACTIONS_DUE SET COD_...
    1,846.01           9,875,239           0.00                     1.01      4,737.66                38.96      12.55      af7f92f13rmy4 ch_txn_shell_85  INSERT INTO CH_ACTIONS_DUE (CO...

  • Optimize for ad hoc workloads.

    Hello all,
       I was refering BOL documentation on 'optimize for adhoc workloads' option and when this is enabled the first run of the adhoc query gets 'compiled plan stub'(plan is not cached) and upon on second run,it gets 'compiled plan' (plan is cached).
    I am wondering if there is any option where we can tell sql server, to make it a 'complied plan'  at 5 run(instead on the second run).
    Thanks.
    Hope it Helps!!

    If you feel that this is important, submit a request on
    http://connect.microsoft.com/SqlServer/Feedback.
    You should make an effort to clearly spell out why you think this would be a benefit.
    I guess that one reason they did it the way they did is that this is simpler. For instance, they don't need to maintain a counter for the shell query.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Compiler Optimization

    Author: semorri_ Sep 27, 2004 1:18 PM
    One "feature" of the Java compiler is the lack of optimization. For example, this code:
    int x = 10;
    int y = 20;
    int z = x + y;
    compiles into bytecodes that execute literally, meaning 10 is pushed on the stack, stored in local var 0, etc. A good C compiler would optimize this code (assuming x and y are not used elsewhere in the method) to simply store 30 in local var z.
    I have been told that the compiler does not optimize such code because then the JIT compiler can most efficiently optimize depending on the hardware platform.
    My question is: is there a way to get the standard compiler to do a more efficient job of optimizing the bytecodes? Are there compilers out there that will?

    Don't you just hate it when people assume that a
    simplified example to illustrate a point is taken
    directly from actual code?Please point to where anyone says the example appears to be taken from actual code...
    Anyway, that is beside the point and does not change the fact that your post seems to imply that the compiler ought to compensate for poor design / coding skills
    (because you failed to tell us why you wanted "full" optimization).
    I have been told that the compiler does not optimize
    such code because then the JIT compiler can most
    efficiently optimize depending on the hardware
    platform.The JIT compiler might very well become bloatware if it had to cater for every imaginable bytecode sequence.
    It is quite possible that "hand optimized" bytecode would leave the JIT compiler clueless.
    Unless you planned to run with the JIT compiler disabled (for whatever reason) this is not going to help performance.
    If you plan to make a hardware implementation, similar considerations to those that apply to the JIT compiler will most likely apply to your pipeline prediction logic.
    My question is: is there a way to get the standard
    compiler to do a more efficient job of optimizing the
    bytecodes? Are there compilers out there that will?There are other Java compilers. There are also Java bytecode assemblers. Google is your friend.
    It is possible that you could get ideas from C optimizer logic and implement post-processing of class files (or pre-processing of bytecode).

  • [svn:fx-trunk] 5907: * AST generation optimization for Bindable metadata.

    Revision: 5907
    Author: [email protected]
    Date: 2009-04-03 07:39:57 -0700 (Fri, 03 Apr 2009)
    Log Message:
    * AST generation optimization for Bindable metadata. For some Mxml
    heavy applications, this decreases compilation time by about 10%.
    It also lowers memory use for those applications.
    tests Passed: checkintests, mxunit databinding, full mustella
    Needs QA: YES
    Needs DOC: NO
    API Change: NO
    Reviewer: Corey
    Code-level description of changes:
    tools/WebTierAPI.java
    Modified getCompilers() to pass generateAbstractSyntaxTree into
    BindableExtension and ManagedExtension.
    compiler/as3/genext/GenerativeSecondPassEvaluator.java
    Added generateAbstractSyntaxTree variable and modified constructor
    to set it.
    Made prepMetaDataNode() protected, so subclasses can call it.
    compiler/as3/genext/GenerativeExtension.java
    Added generateAbstractSyntaxTree variable and modified constructor
    to set it.
    compiler/as3/managed/ManagedSecondPassEvaluator.java
    compiler/as3/managed/ManagedExtension.java
    compiler/as3/binding/BindableExtension.java
    Modified constructor to take generateAbstractSyntaxTree param and
    to pass it to super().
    compiler/as3/AbstractSyntaxTreeUtil.java
    Added DOUBLE_COLON.
    Modified generateIdentifier() to handle name's with double colons.
    Added new generateParameter() variant with position arg.
    Added new generateParameter() variant with support for an
    initializer Node.
    Added new generateParameter(), generateTypeExpression(),
    generateVariable() variant with support for a type namespace.
    compiler/as3/binding/BindableSecondPassEvaluator.java
    Added addIEventDispatcherImplementation(),
    addStaticEventDispatcherImplementation(), generateAttributeList(),
    generateBindingEventDispatcherVariable(),
    generateDispatchEventCall(),
    generateAddEventListenerFunctionDefinition(),
    generateDispatchEventFunctionDefinition(),
    generateEventDispatcherNotNull(), generateGetter(),
    generateHasEventListenerFunctionDefinition(),
    generateOldValueStrictlyNotEqualsValueText(),
    generateOldValueVariable(),
    generateRemoveEventListenerFunctionDefinition(), generateSetter(),
    generateSetterAssignment(),
    generateStaticBindingEventDispatcherVariable(),
    generateStaticDispatchEventCall(),
    generateStaticEventDispatcherGetter(),
    generateStaticOldValueVariable(),
    generateStaticSetterAssignment(),
    generateWillTriggerFunctionDefinition(), modifySyntaxTree(), and
    moveMetaDataToNewDefinition().
    compiler/mxml/ImplementationCompiler.java
    Modified constructor to pass generateAbstractSyntaxTree into the
    BindableExtension constructor.
    Modified Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableExtension.jav a
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableProperty.vm
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableSecondPassEva luator.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/genext/GenerativeExtension.ja va
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/genext/GenerativeSecondPassEv aluator.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedExtension.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/managed/ManagedSecondPassEval uator.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationCompiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceGenerator.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/tools/WebTierAPI.java

  • Sun Compilier  Optimizations for Intel Atom?

    Hi everyone,
    I know that the Intel C compiler (icc) supports an -xL optimization for Atom CPUs, which does in fact seem to render some performance gains:
    http://macles.blogspot.com/2008/09/intel-cc-compiler-gcc-and-intel-atom.html
    While the exact same option of course may not be available in the Sun compiler, are there optimization settings that would be best for the Atom? (Perhaps this has been discussed in great detail already, but searching did not seem to reveal too much.)
    Thank you,
    VegaBlue

    Sun compilers do not have a special -xarch/-xchip setting for Atom.
    You might want to start with plain "-xO4 -xarch=sse2" or "-fast -xarch=sse2" combo.
    regards,
    __Fedor.

  • Unofficial linux-ck repo survey for CPU family support

    If you are a user of my unofficial repo for linux-ck and related packages, I would like to ask you to spend 45 seconds to complete a survey to help me understand which CPU families I need to support in the repo.  If you build linux-ck packages yourself from the AUR, please ignore this request.
    Link to take the survey.
    Link to see the results.
    Note - no need to reply in this thread unless there is a problem with the external survey.  Thanks all.
    Last edited by graysky (2012-12-08 16:30:25)

    1LordAnubis wrote:just out of curiosity, is the default config 1000 Hz?
    I'm asking b/c I think you need a multiple of 1000 Hz for virtualbox
    What do you guys find works well?
    The ARCH defaults are tickless (dynamic ticks) and 300 Hz.  I use them w/ vbox just fine... dunno where you got that 1000 Hz advice
    You can check it via:
    zcat /proc/config.gz > config
    Then inspect the config in an editor.  You can always build it yourself with whatever options...
    Last edited by graysky (2011-01-15 23:07:33)

  • Unable to compile class for JSP

    Please can anyone help me to solve this.
    Actually,this is the condition.
    In my db,there is a table called UserPassword, which has 4
    fields(empNo,UserName,password,level). Now I want to do these things:
    When the user submits the data to create a new account via HTML form, it submits the data to the file called CreateAcc.jsp. In this file it perform some logic,here are they.
    1)To check the empNo,if it is already exist in the DB,
         if empNo =exist then display error.(record already exist)
         if empNo =notexist then do task 2).
    2)check the UserName,if it is already exist in the db,
         if UserName=exist then display error.(because it's a primary key)
         if UserName=notexist then do task 3).
    3)Create a new user account and save it to the db.
    To do these tasks,I never create a new objects for the tasks 1) and 2).
    only for task 3)create an object.
    Is it the right way?
    Here is the file CreateAcc.jsp
    <%@ page language="java" %>
    <%@ page import="core.UserAccManager" %>
    <%@ page import="data.UserPassword" %>
    <jsp:useBean id="UserAccManager" class="core.UserAccManager" scope="session"/>
    <jsp:setProperty name="UserAccManager" property="*"/>
    <jsp:useBean id="UserPassword" class="data.UserPassword" scope="session"/>
    <jsp:setProperty name="UserPassword" property="*"/>
    <%
    String nextPage ="MainForm.jsp";
    if(UserPassword.verifyEmpno()){
         if(UserPassword.verifyUsername()){
              if(UserPassword.createAcc()) nextPage ="MsgAcc.jsp";
          }else{
               nextPage="UserNameExist.jsp";
          else{
              nextPage="UserAccError.jsp";
    %>
    <jsp:forward page="<%=nextPage%>"/>The directory structure:
    UserPassword.java- F:/Project/core/data/UserPassword.java
    UserAccManager.java - F:/Project/core/UserAccManager.java
    Now both are compiling.I put the class files into the TOMCAT,as follows.
    UserAccManager.class - webapps/mySystemName/WEB-INF/classes/core/
    UserPassword.class - webapps/mySystemName/WEB-INF/classes/core/data/
    Here is the full code of the file UserAccManager.java.
    package core;               //Is this right?
    import data.UserPassword;     //Is this right?
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public final class UserAccManager{
       private static final String DRIVER = "com.mysql.jdbc.Driver";
       private static final String URL = "jdbc:mysql://localhost:3306/superfine";
       private static Connection connection;
       private static PreparedStatement pstmt1;
       private static PreparedStatement pstmt2;     
       private static PreparedStatement pstmt3;     
       private UserAccManager(){
       // Initializes the connection and statements
       public static void initConnection() {
          if (connection == null) {
             try {
                String sql;
                // Open the database
                Class.forName(DRIVER).newInstance();
                connection = DriverManager.getConnection(URL);
                // Prepare the statements
               sql = "SELECT * FROM UserPassword where empNo= ?";
               pstmt1 = connection.prepareStatement(sql);
                sql = "SELECT UserName FROM UserPassword where UserName= ?";
                pstmt2 = connection.prepareStatement(sql);
             sql ="INSERT INTO UserPassword VALUES(?,?,?,?)";
             pstmt3 = connection.prepareStatement(sql);
             catch (Exception ex) {
                System.err.println(ex.getMessage());
       // Closes the connection and statements
       // Method to be called by main class when finished with DB
       public  void closeConnection() {
          //same as previous
       public static boolean verifyEmpno(int empno) {
          boolean emp_no_select_ok = false;
          int emp = -1;
          initConnection();
         try {
          pstmt1.setInt(1, empno);
             ResultSet rs1 = pstmt1.executeQuery();
         while(rs1.next()){
              emp=rs1.getInt("empNo");
         if(emp>0)
              emp_no_select_ok = false;
         } else{
              emp_no_select_ok = true;     
            rs1.close();
         pstmt1.close();     
          catch (Exception ex) {
             System.err.println(ex.getMessage());
          return emp_no_select_ok;
       public static boolean verifyUsername(String username) {
          boolean user_name_select_ok = false;
          String user = "xxxx";
          initConnection();
          try {
          pstmt2.setString(1, username);
             ResultSet rs2 = pstmt2.executeQuery();
            while(rs2.next()){
              user=rs2.getString("UserName");
               if(!user.equals("xxxx"))
              user_name_select_ok = false;
            } else{
              user_name_select_ok = true;     
           rs2.close();
          catch (Exception ex) {
             System.err.println(ex.getMessage());
          return user_name_select_ok;
         public static boolean createAcc(int empno, String username, String password, int
    level){
              boolean create_acc_ok = false;
              initConnection();
              try{
                      //create a new object,from the UserPassword table.
                   UserPassword useraccount = new UserPassword();
                   useraccount.setEmpno(empno);
                   useraccount.setUsername(username);
                   useraccount.setPassword(password);
                   useraccount.setLevel(level);
                   //assign value for ???
                   pstmt3.setInt(1, useraccount.getEmpno());
                   pstmt3.setString(2, useraccount.getUsername());
                   pstmt3.setString(3, useraccount.getPassword());
                   pstmt3.setInt(4, useraccount.getLevel());          
                   if(pstmt3.executeUpdate()==1) create_acc_ok=true;
                   pstmt3.close();
                           //con.close();
                catch(SQLException e2){
                           System.err.println(e2.getMessage());
              return create_acc_ok;
    }here is the bean (part of it)
    package data;               //is it right?
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class UserPassword
         private int empno;
         private String username;
         private String password;
         private int level;
         // Constructor
         public UserPassword()
              this.empno = empno;
              this.username = username;
              this.password = password;
              this.level = level;
         // setters and getters are here.
    //     public boolean verifyEmpno() {
    //               return UserAccManager.verifyEmpno(empno);
    //       public boolean verifyUsername(String username) {
    //            return UserAccManager.verifyUsername(username);
         // These 2 methods not compile with or without para's.So I leave that job for the      
         //controll class UserAccManager.java.
    Now my problem is this: When I submit data, there is an error;org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: -1 in the jsp file: null
    Generated servlet error:
    [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:8:
    cannot access core.data.UserPassword
    bad class file: C:\Program Files\Apache Group\Tomcat
    4.1\webapps\HRM\WEB-INF\classes\core\data\UserPassword.class
    class file contains wrong class: data.UserPassword
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    import core.data.UserPassword;
    ^
    1 error
    Are there any mistakes? If so tell me where is it and how to change them.Please help.

    I try it that way, but it don't compile.
    Error:core\data\UserPassword.java:package javax.servlet does not exist
    import javax.servlet.*;
    core\data\UserPassword.java:package javax.servlet.http does not exist
    import javax.servlet.http.*;
    So,I comment them only in the UserPassword.java file,and compile it again.
    Then it compile well.I goto the directory to get the .class files.
    But there is only UserPassword.class inside the data folder. There is not
    UserAccManager.class in the core folder.
    Then I try this way,I put my 2 java files in to a new folder,
    F:\SystemName\com
    When I try it that way, but it don't compile.
    javac -classpath . -d . com\*.javaError:com\UserPassword.java:package javax.servlet does not exist
    import javax.servlet.*;
    com\UserPassword.java:package javax.servlet.http does not exist
    import javax.servlet.http.*;
    So,I comment them only in the UserPassword.java file,and compile it again.
    Now both are compiling well.There was 2 class files.
    I put them in to the WEB-INF/classes/com directory.
    Start the server.But it gave errors:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:68: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
    if(UserPassword.verifyEmpno(empno)){
                                ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:69: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
         if(UserAccManager.verifyUsername(username)){
                                             ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:69: non-static method
    verifyUsername(java.lang.String) cannot be referenced from a static context
         if(UserAccManager.verifyUsername(username)){
                             ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                       ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable password
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable level
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                         ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: non-static method
    createAcc(int,java.lang.String,java.lang.String,int) cannot be referenced from a static
    context
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                     ^
    8 errorsTo solve the problem non-static method,I goto the UserAccManager.java file and do these
    things.
    package com;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    //import javax.servlet.*;               //otherwise it tells an error.(package           
                                  //javax.servlet does not exist)
    //import javax.servlet.http.*;
    public  class UserAccManager {
       private static final String DRIVER = "com.mysql.jdbc.Driver";
       private static final String URL = "jdbc:mysql://localhost:3306/superfine";
       private static Connection connection;
       private static PreparedStatement pstmt1;
        private static PreparedStatement pstmt2;
          private static PreparedStatement pstmt3;
       private UserAccManager() {
       // Initializes the connection and statements
       private static void initConnection() {
             //same
       // Closes the connection and statements
       // Method to be called by main class when finished with DB
       public static void closeConnection() {
         //same
       public static boolean verifyEmpno(int empno) {
          // same.
       public static boolean verifyUsername(String username) {
         //same.
         public static boolean createAcc(int empno, String username, String password, int      
    level){
              //same
    package com;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    //import javax.servlet.*;
    //import javax.servlet.http.*;
    public class UserPassword {
         // same
    Again compile those files and put .class filses into the WEB-INF/classes/com directory.
    When i submits the data via the form it generates an error:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
        [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:68: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
    if(UserAccManager.verifyEmpno(empno)){
                                  ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:69: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
         if(UserAccManager.verifyUsername(username)){
                                             ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                       ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable password
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable level
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                         ^
    6 errorshere is the CreateAcc.jsp file
    <%@ page language="java" %>
    <%@ page import="com.UserAccManager" %>
    <%@ page import="com.UserPassword" %>
    <jsp:useBean id="userPassword" class="com.UserPassword" scope="request"/>
    <jsp:setProperty name="userPassword" property="*" />
    <%
    String nextPage ="MainForm.jsp";
    if(UserAccManager.verifyEmpno(empno)){
         if(UserAccManager.verifyUsername(username)){
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
          }else{
               nextPage="UserNameExist.jsp";
          else{
              nextPage="UserAccError.jsp";
    %>
    <jsp:forward page="<%=nextPage%>"/>Please, anyone know how to send these parameters to the java file.
    Thanks.

  • Installed flash disk does not boot (Solaris 10 on Fore CPU-50 VME cpu-card)

    Greetings,
    After installation of Solaris on a system with a flask disk as system disk, the disk is not bootable.
    Configuration:
    System: Fore CPU-50 VME cpu-card (sparc50)
    OS: Solaris 10 (Sparc version, CD-media)
    System-disk: ADTRON S35FA-8GC20N Smart Storage 3.5” SCSI Flash pack.
              (configured as c0t1d0)
    Error message at boot:
    Can’t read disk label
    Can’t open disk label package
    When I mount the installed disk on another system I can read and inspect the flash disk.
    The logging files begin.log, finish.log and install_log in the /var/sadm/system/logs/ directory don’t mention any errors during installation phase.
    The logging file /var/sadm/system/logs/install_log begins with:
    Configuring disk
    -     Creating Solaris disk label (VTOC)
    Creating and checking UFS filesystems
    -     Creating / (c0t1d0s0)
    -     etc.
    This install_log file ends with:
    Installing boot information
    -     Installing boot blocks (c0t1d0s0)
    -     Updating system firmware for automatic rebooting
    How can I make this flash disk bootable?
    Thanks,
    Herm

    It's a G3 with the integrated 5 i Smart array
    controller. There are driver updates for Sol 10 on
    the HP side. Just filter for OS. There you get the 5i
    driver !
    greets
    D@veI searched the HP site, but wasn't able to find the driver for Solaris 10. Could you give me the url? I did find links for drivers for Solaris 8 & 9 though.
    Thanks,
    -Jeff

  • Acrobat 9.3.4 (or 9.3.3.177): Save As with Optimize for Fast Web View

    When I do a Save As with Optimize For Fast Web View checked, the saving stops and an Adobe Acrobat dialog displays:
         The document could not be saved. There was a problem reading this document (111).
    If I uncheck Optimize For Fast Web View, the Save As seems to work.
    Is there a way to have Fast Web View work with Save As?
    Acrobat.exe is version 9.3.4 (or 9.3.3.177 in the properties). The Acrobat.DLL version is 9.3.4.218.

    Thanks.  I did submit a report at the site.  I hope somebody reads it as this is a big problem for us.
    Thanks again.

  • Not able to optimize for You Tube

    So I have been using Adobe Premiere for almost a year and a half and the one thing that has bothered me is that no matter what I do I can't get full HD Video's (I am filming with a 720 camera) and it won't optimize for You Tube and will always look like this
    I have looked up several guides and no matter what I do it does not change any guides I might be missing or something wrong I would love to use the full potential that I can.

    AME has quite a number of YouTube presets ... one of 'em should pretty close to match expectations.
    Neil

  • Unable to compile class for JSP. apache-tomcat-6. What could be wrong?

    Hello, I am new to JSP and I am trying a very basic jsp and class file on Windows XP. I get the Unable to compile class for JSP.
    Steps that I have done:
    javac ch06_01.java , placed the ch06_01.class under
    C:\Apps\apache-tomcat-6.0.16\webapps\ch06\WEB-INF\classes
    Then grabbed the ch06_02.jsp and placed it under
    C:\Apps\apache-tomcat-6.0.16\webapps\ch06\
    When I run it (by placing this into Explorer or Firefox URL
    http://localhost:8080/ch06/ch06_02.jsp) I get the error further
    below. Things I have done and made sure they are in place are:
    set up JAVA_HOME to C:\Apps\jdk1.6.0_06
    Using CATALINA_BASE: C:\Apps\apache-tomcat-6.0.16
    Using CATALINA_HOME: C:\Apps\apache-tomcat-6.0.16
    Using CATALINA_TMPDIR: C:\Apps\apache-tomcat-6.0.16\temp
    Using JRE_HOME: C:\Apps\jre1.6.0_06
    I did a google on the error and I found people saying to place the
    tools.jar from the jsk into the lib directory under CATALINA_HOME. But
    the examples still don't work. What step could I be missing? Your help is greatly
    appreciated.
    This is the simple jsp file:
    <%@ page import="ch06_01" %>
    <HTML>
    <HEAD>
    <TITLE>Using a JavaBean</TITLE>
    </HEAD>
    <BODY>
    <H1>Using a JavaBean</H1>
    <% ch06_01 messager = new ch06_01(); %>
    The message is: <%= messager.msg() %>
    </BODY>
    </HTML>
    this is the simple ch6_01 java file:
    public class ch06_01
    public ch06_01()
    public String msg()
    return "Hello from JSP!";
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented
    it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSP:
    An error occurred at line: 6 in the generated java file
    The import ch06_01 cannot be resolved
    An error occurred at line: 9 in the jsp file: /ch06_02.jsp
    ch06_01 cannot be resolved to a type
    6: <BODY>
    7: <H1>Using a JavaBean</H1>
    8:
    9: <% ch06_01 messager = new ch06_01(); %>
    10:
    11: The message is: <%= messager.msg() %>
    12:
    An error occurred at line: 9 in the jsp file: /ch06_02.jsp
    ch06_01 cannot be resolved to a type
    6: <BODY>
    7: <H1>Using a JavaBean</H1>
    8:
    9: <% ch06_01 messager = new ch06_01(); %>
    10:
    11: The message is: <%= messager.msg() %>
    12:
    Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:316)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Edited by: indikon1 on Jun 12, 2008 1:18 PM
    I just updated the directories of the variables to reflect the current status of my system.

    What is wrong is that you are using an "old" jsp tutorial :-)
    Since Java 1.4, JSPs have been unable to access classes in the "default" package.
    What you need to do:
    Put the java class ch06_01 in a package.
    Steps to do this
    - Edit ch06_01 and add the following to the very top of the file (without the quotes): "package mypackage;"
    - create a folder "mypackage"
    - move ch06_01.java into that folder
    - compile that class (now in the mypackage package)
    - place ch06_01.class under C:\Apps\apache-tomcat-6.0.16\webapps\ch06\WEB-INF\classes\mypackage
    In your jsp:
    <%@ page import="mypackage.ch06_01" %>
    I would suggest using a more up-to-date tutorial that uses JSTL.
    Take a look at this [Apache Tomcat tutorial|http://www.coreservlets.com/Apache-Tomcat-Tutorial/index.html]

  • Unable to compil class for jsp

    error is
    HTTP Status 500 -
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSP:
    An error occurred at line: 6 in the generated java file
    Syntax error on token ".", Identifier expected after this token
    An error occurred at line: 7 in the generated java file
    Syntax error on token ".", Identifier expected after this token
    An error occurred at line: 9 in the jsp file: /travel/issue.jsp
    LibraryStudent cannot be resolved to a type
    6: <BODY>
    7: <H1>issue books</H1>
    8: <CENTER>
    9: <jsp:useBean id="student"
    10: type="LibraryStudent"
    11: scope="session" />
    12: student name:
    An error occurred at line: 9 in the jsp file: /travel/issue.jsp
    LibraryStudent cannot be resolved to a type
    6: <BODY>
    7: <H1>issue books</H1>
    8: <CENTER>
    9: <jsp:useBean id="student"
    10: type="LibraryStudent"
    11: scope="session" />
    12: student name:
    An error occurred at line: 13 in the jsp file: /travel/issue.jsp
    LibraryStudent cannot be resolved to a type
    10: type="LibraryStudent"
    11: scope="session" />
    12: student name:
    13: <jsp:getProperty name="student" property="studentName" />
    14:
    15: book name:
    16: <jsp:getProperty name="student" property="bookName" />
    An error occurred at line: 16 in the jsp file: /travel/issue.jsp
    LibraryStudent cannot be resolved to a type
    13: <jsp:getProperty name="student" property="studentName" />
    14:
    15: book name:
    16: <jsp:getProperty name="student" property="bookName" />
    17:
    18: <jsp:getProperty name="student"
    19: property="issueData" />
    An error occurred at line: 18 in the jsp file: /travel/issue.jsp
    LibraryStudent cannot be resolved to a type
    15: book name:
    16: <jsp:getProperty name="student" property="bookName" />
    17:
    18: <jsp:getProperty name="student"
    19: property="issueData" />
    20: </FORM>
    21: </CENTER>LibraryStudent.java is   
    import java.util.*;
    import java.text.*;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.util.*;
    public class LibraryStudent {
    private String emailAddress, s,password, sname,bname;
    private String date,value;
    public String getStudentName() {
    return(sname);
    public void setStudentName(String sname) {
    this.sname = sname;
    public String getEmailAddress() {
    return(emailAddress);
    public void setEmailAddress(String emailAddress) {
    this.emailAddress = emailAddress;
    public String getPassword() {
    return(password);
    public void setPassword(String password) {
    this.password = password;
    public String getBookName() {
    return(bname);
    public void setBookName(String bname) {
    this.bname = bname;
    public String getDate() {
    return(date);
    public void setDate(String date) {
    this.date = date;
    public String getIssueData() //method that create connection withh database
    throws ServletException,IOException{
    try{
    getDate();                   //and add a entry in database
    getBookName();
    getStudentName();
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:db2");
    Statement st=con.createStatement();
    String sql =
        "insert into table1 (bookname,studentname,date) values(bname,sname,date)";
      st.executeUpdate(sql);
    System.out.println(sql);
    String s=  "your book has been issued ";
    return(s);
    catch(Exception e)
    e.printStackTrace();
    return "failed";
    public String getSumbitData()
    throws ServletException,IOException{
    try
    getBookName();
    getStudentName();
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:db2");
    Statement st=con.createStatement();
    String sql =
        "delete from db2 where bookname='bname' and studentname=sname";
      st.executeUpdate(sql);
    System.out.println(sql);
    String s="your book has been sumbitted ";
    return(s) ;
    catch(Exception e)
    e.printStackTrace();
    return "failed";
    public static int findStudent    //to validate customer
    (String emailAddress,
    String password) throws ServletException,IOException{
    try
    if (emailAddress == null) {
    return(0);
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:user");
    Statement st=con.createStatement();
    String sql="select * from user where name='"+emailAddress+"' and password='"+password+"'";
    System.out.println(sql);
    ResultSet rs=st.executeQuery(sql);
    if(rs.next())
    return(1);
    else
    return(0);
    }catch(Exception e)
    e.printStackTrace();
    return (0);}
      to be continued.............

    and Library.java is import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class Library extends HttpServlet {
    public void doPost(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    String emailAddress = request.getParameter("emailAddress");//use to email&pass
    String password = request.getParameter("password");//from html page
    LibraryStudent student = new LibraryStudent();//Make a student Object
    int a=LibraryStudent.findStudent(emailAddress, password);//to validate student
    if (a==0) {
    gotoPage("/library/accounts.jsp", request, response);
    else
    student.setStudentName(request.getParameter("sname"));//use to sent other textbox
    student.setBookName(request.getParameter("bname"));//data in librarystudent
    student.setDate(request.getParameter("date"));//class after validation
    HttpSession session = request.getSession(true);
    session.putValue("student", student);
    //for moving different page
    if (request.getParameter("issue") != null) {
    gotoPage("/travel/issue.jsp",
    request, response);
    } else if (request.getParameter("sumbit") != null) {
    gotoPage("/travel/sumbit.jsp",
    request, response);
    } else if (request.getParameter("search") != null) {
    gotoPage("/travel/search.jsp",
    request, response);
    } else if (request.getParameter("account") != null) {
    gotoPage("/travel/EditAccounts.jsp",
    request, response);
    } else {
    gotoPage("/travel/IllegalRequest.jsp",
    request, response);
    private void gotoPage(String address,
    HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    RequestDispatcher dispatcher =
    getServletContext().getRequestDispatcher(address);
    dispatcher.forward(request, response);
    }    issue.jsp is
       <%@page import="java.io.,java.util.,java.sql.*"%>
    <HTML>
    <HEAD>
    <TITLE>issue books</TITLE>
    </HEAD>
    <BODY>
    <H1>issue books</H1>
    <CENTER>
    <jsp:useBean id="student"
    type="LibraryStudent"
    scope="session" />
    student name:
    <jsp:getProperty name="student" property="studentName" />
    book name:
    <jsp:getProperty name="student" property="bookName" />
    <jsp:getProperty name="student"
    property="issueData" />
    </FORM>
    </CENTER>
    </BODY>
    </HTML> plz solve my problem .i m new to servlet and jsp and i have keen desire to learn this topic

Maybe you are looking for