fschneider@chromium.org
418501faef
Refine allocation policy for input operands at calls.
...
For instructions that are marked as calls we can use:
1. Fixed input registers
2. Use-at-start policy (register, memory or constant).
(Memory or constant would not need the use-at-start policy, but
not specifying use-at-start prevents the allocator from using
a register even if there is one available. That's why use-at-start
is required and guarded by assertion)
Review URL: http://codereview.chromium.org/6853010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-14 11:10:00 +00:00
lrn@chromium.org
3bbcab1ca9
X64: Use roundsd for DoMathFloor.
...
TEST=mjsunit/math-floor
Review URL: http://codereview.chromium.org/6835021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-14 09:05:43 +00:00
vegorov@chromium.org
68a8cf365f
In ProfilerSignalHandler ensure that thread we are trying to sample locked the isolate.
...
BUG=http://crbug.com/77725
Review URL: http://codereview.chromium.org/6837028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-14 08:53:50 +00:00
karlklose@chromium.org
f7840f65f0
Isolates: Cleanup usage of FACTORY in code stubs and bootstrapper.
...
Review URL: http://codereview.chromium.org/6720014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-14 08:01:19 +00:00
cira@chromium.org
26e2d5a89f
Fixing svn:eol-style (from native to LF).
...
Review URL: http://codereview.chromium.org/6837034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 21:34:20 +00:00
cira@chromium.org
261318b6a1
Moving locale code from i18n-extension.cc. Each part of the API now has separate cc file, and only extension related code is left in i18n-extension.{cc,h}.
...
There are no functional changes in this CL.
Review URL: http://codereview.chromium.org/6840024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 21:09:22 +00:00
whesse@chromium.org
98c17a2bf3
Adjust mjsunit.status to account for math-round test passing on ARM when crankshaft is disabled.
...
Review URL: http://codereview.chromium.org/6840013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 14:03:24 +00:00
fschneider@chromium.org
9783526239
Enable inlining functions containing throw.
...
After Kevin's change to the graph builder to allow aborting graph construction
inside arbitrary expressions this just works.
BUG=v8:1143
Review URL: http://codereview.chromium.org/6839017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 13:09:58 +00:00
kmillikin@chromium.org
db91b43ace
Fix a just-introduced bug in polymorphic inlining.
...
When inlining a polymorphic variant, the inlined function indicates we
should bailout of the entire compilation by setting the stack overflow flag
on the visitor. We need to check this flag and bailout if a call to
TryInline succeeds and it is not in tail position in a graph builder
function.
R=fschneider@chromium.org
Review URL: http://codereview.chromium.org/6840012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 11:59:23 +00:00
sgjesse@chromium.org
6b12b41f30
ARM: Fix a number of issues with running without VFPv3 support
...
The type recording binary operations stub contained a number of issues which broke V8 when running without VFPv3 supoort.
1. The order of the high/low words of doubles in core register pairs where wrong
2. Missing allocation of a heap number for the result
3. Missing call to runtime
Added the option for printing the double values in register pairs to the simulator.
R=karlklose@chromium.org
BUG=v8:1315
TEST=
Review URL: http://codereview.chromium.org//6834020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 11:59:17 +00:00
kmillikin@chromium.org
6d7b88b5bc
Fix typo which broke build.
...
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/6837020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 11:30:36 +00:00
kmillikin@chromium.org
c25c2784d9
Relax assumptions about control flow in the hydrogen graph.
...
Previously we assumed that control was always live after visiting an
expression, and that control was live to both basic block targets of an
expression in a test context.
Now we allow any expression to exit the graph.
R=fschneider@chromium.org ,danno@chromium.org
Review URL: http://codereview.chromium.org/6839015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 11:24:06 +00:00
whesse@chromium.org
5a6ec1a46e
Fix optimized code for Math.round on ia32 platform.
...
Review URL: http://codereview.chromium.org/6838012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 10:32:05 +00:00
lrn@chromium.org
caee8a3ccf
Fix Math.round in runtime.cc and x64 optimized code.
...
Make math-round.js test check both normal and optimized version.
Add some cases to the tests.
BUG=v8:958
TEST=mjsunit/math-round
Review URL: http://codereview.chromium.org/6837018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 09:35:56 +00:00
ager@chromium.org
f7170df2af
Prepare push to trunk. Now working on version 3.3.0.
...
Review URL: http://codereview.chromium.org/6833021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 08:34:46 +00:00
karlklose@chromium.org
bb1fe3ed9c
Revert revision 7582.
...
The changes caused mozilla date test failures on ARM.
TBR=ager
Review URL: http://codereview.chromium.org/6833020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-13 08:00:59 +00:00
vitalyr@chromium.org
09dfc4b5d3
Add global setup for runtime profiler.
...
Whether it's enabled or not must not change while we're running. Let's
not waste time recomputing it. This also makes the VM state tracking
code slightly more lightweight.
Review URL: http://codereview.chromium.org/6825054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 19:15:53 +00:00
vitalyr@chromium.org
34d50b3d5c
Fit Representation and HType in one word to make HValue smaller.
...
Review URL: http://codereview.chromium.org/6813091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 19:05:48 +00:00
cira@chromium.org
df453b1203
Moving JavaScript code from i18n-extension.cc into i18n.js file using
...
tools/js2c.py script.
Added new type I18N to natives.h enum.
Review URL: http://codereview.chromium.org/6825049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 18:19:40 +00:00
jkummerow@chromium.org
1d774ac5ca
Fix load/store of external float arrays on ARM
...
BUG=1323
TEST=mjsunit/regress/regress-1323.js, run with simulator=arm
Review URL: http://codereview.chromium.org/6822054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 15:20:26 +00:00
lrn@chromium.org
c0aa591bbb
X64: Tweak code generation slightly.
...
Uses a shorter opcode for movl and movb with immediates.
Make movl preferable to movq in Set(register, int64_t) and use Set in more places.
Review URL: http://codereview.chromium.org/6824074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 13:20:51 +00:00
sgjesse@chromium.org
250b205456
ARM: Set expectations for failing deserializations tests to turn the bot green
...
R=karl.klose@chromium.org
BUG=v8:1075
TEST=
Review URL: http://codereview.chromium.org//6825073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 12:30:13 +00:00
fschneider@chromium.org
fee9845599
Enable inlining of functions containing loops.
...
Review URL: http://codereview.chromium.org/6813107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 10:27:09 +00:00
fschneider@chromium.org
4618b186ef
Change the list of statements that are inlineable into a black-list.
...
Before we had a white-list of things that we allow inside inlined functions.
This way we can enable new constructs one-by-one.
Review URL: http://codereview.chromium.org/6825042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 08:37:29 +00:00
lrn@chromium.org
a932441a0c
Cleanup of ScannerConstants, now named UnicodeCache.
...
The ScannerConstants class was originally static fields on the scanner class.
During creation of the stand-alone preparser and later isolates, it has been
moved into a separate class with a per-isolate instance.
It is used to hold caching unicode Predicate values.
This change renames the class to UnicodeCache, and passes a reference
to the instance down to methods that doesn't have an easy access to
an isolate (to avoid, e.g., having to do an Isolate::Current() for every
number parsed).
Review URL: http://codereview.chromium.org/6824071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 08:27:38 +00:00
ricow@chromium.org
6baa8a2bde
Revert 7581, you can't have try except finally toghetter until python 2.5
...
We have some 2.4 versions on the windows buildbots, I will try to have these updated and reapply.
Review URL: http://codereview.chromium.org/6821069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 07:46:17 +00:00
karlklose@chromium.org
72fff00e48
ARM: Add optimization for constant RHS in DoMulI.
...
Patch by ARM Ltd.
Review URL: http://codereview.chromium.org/6756033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 06:44:15 +00:00
ricow@chromium.org
7c0b1af4d7
Fix tools/test.py to allow CTRL+C to work correctly again.
...
This also changes the AfterRun functions to allow None as the passed in parameter.
Review URL: http://codereview.chromium.org/6824040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 06:26:38 +00:00
sgjesse@chromium.org
af7804f3b7
ARM: Always enable ARMv7 when VFPv3 is enabled.
...
R=vegorov@chromium.org , rodolph.perfetta@gmail.com
BUG=v8:1317
TEST=
Review URL: http://codereview.chromium.org//6825037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 06:12:45 +00:00
vitalyr@chromium.org
d26ba633a8
Fix retained object info leak.
...
Review URL: http://codereview.chromium.org/6813101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 05:08:13 +00:00
dimich@chromium.org
13bfbe8226
Another attempt to fix Win build.
...
Review URL: http://codereview.chromium.org/6825061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 00:49:30 +00:00
dimich@chromium.org
097b09bff3
Fix build borkage due to r7575
...
(landing for Dmitry Lomov)
Review URL: http://codereview.chromium.org/6823065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-12 00:42:27 +00:00
vitalyr@chromium.org
d932b5f768
Do not rely on uniqueness of pthread_t
...
Patch by Dmitry Lomov.
pthreads implementations are free to reuse pthread_t (thread id) after
the thread has died. This change gets rid of ThreadHandle class and
replaces it with v8-managed thread identifiers.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 23:46:22 +00:00
antonm@chromium.org
0b30898379
Allow recursive messages reporting as it is already used.
...
Instead discard unhandled exceptions thown while running
message listeners.
Review URL: http://codereview.chromium.org/6820003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 16:16:52 +00:00
mmaly@chromium.org
d3172e6349
Bring test262 expectations up-to-date.
...
Add missing *.js files into Xcode project.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6826036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 13:54:30 +00:00
jkummerow@chromium.org
ed968b1042
Introduce runtime function %OptimizeFunctionOnNextCall to manually trigger optimization.
...
TEST=existing unit tests still pass
Review URL: http://codereview.chromium.org/6821009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 13:24:50 +00:00
karlklose@chromium.org
d8f0b3bea2
Prepare push to trunk. Now working on version 3.2.10.
...
Review URL: http://codereview.chromium.org/6820029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 12:14:53 +00:00
mikhail.naganov@gmail.com
576660e182
Fix x64 build after r7567
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 11:49:55 +00:00
mikhail.naganov@gmail.com
690093effe
Mark single-argument inline constructors as 'explicit'.
...
There is currently a bug in cpplint.py hiding this problem.
R=sgjesse@chromium.org
BUG=1304
TEST=none
Review URL: http://codereview.chromium.org/6820028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 11:38:34 +00:00
fschneider@chromium.org
544a436425
Remove code from the deprecated GenericBinaryOpStub.
...
All platforms are now using the TypeRecordingBinaryOpStub.
I also removed the ARM IntegerModStub which was called from
the GenericBinaryOpStub.
Review URL: http://codereview.chromium.org/6826032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 09:39:21 +00:00
sgjesse@chromium.org
75759805a9
ARM: Remove support for ABI prior to EABI
...
The support for the old ABI is known to be broken and has been deprecated for some time now. Removed the instructions for loading and storing co-processor registers as they where only used to support the old ABI.
R=karlklose@chromium.org
BUG=v8:1316
TEST=
Review URL: http://codereview.chromium.org//6822025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 09:04:30 +00:00
sgjesse@chromium.org
a700211937
ARM: Fix wrong fall through handling
...
Looks like a copy/paste mistake.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6826031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 08:59:29 +00:00
vitalyr@chromium.org
c53727f591
Fix JS ratio computation on startup.
...
Review URL: http://codereview.chromium.org/6826026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-10 08:29:18 +00:00
mmaly@chromium.org
164e3a4173
Strict mode fixes.
...
- mutual inlining strict and non-strict functions in crankshaft.
- assignment to undefined variable with eval in scope.
- propagation of strict mode through lazy compilation.
BUG=
TEST=test/mjsunit/strict-mode.js test/mjsunit/strict-mode-opt.js
Review URL: http://codereview.chromium.org/6814012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 14:30:10 +00:00
lrn@chromium.org
ce5500e639
X64: Convert HeapNumbers that contain valid smi values to smis in binop-stub.
...
When the TypeRecordingBinaryOpStub expect smi values as input, they might
sometimes come as HeapNumbers. The transition code will detect the heap numbers
as holding values that are valid smi values, and will not change the expectations.
However, the stub didn't handle HeapNumbers and always tried to transition again.
Review URL: http://codereview.chromium.org/6812046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 12:34:00 +00:00
mmaly@chromium.org
44452036f3
Removing old codegen from Xcode project.
...
TBR=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6811044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 12:22:43 +00:00
sgjesse@chromium.org
3ba56badb3
ARM: Fix a crash bug in code for %_IsStringWrapperSafeForDefaultValueOf
...
Turned out out that the setting of bit Map::kStringWrapperSafeForDefaultValueOf in Map::kStringWrapperSafeForDefaultValueOf was not done on the map but in some other memory location causing crashes.
R=vegorov@chromium.org
BUG=none
TEST=mozilla/data/js1_2/String/slice.js (crashed only on ARM hardware)
Review URL: http://codereview.chromium.org//6816054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 11:37:30 +00:00
vegorov@chromium.org
1a3bbebade
Fix compilation with gdbjit=on.
...
Ensure mutual exclusion on access to GDBJITInterface internal structures to make it work correctly with several isolates.
Review URL: http://codereview.chromium.org/6816053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 11:25:19 +00:00
yurys@chromium.org
684aa3628f
Fix some presumbmit failures.
...
Review URL: http://codereview.chromium.org/6801070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 10:02:01 +00:00
yurys@chromium.org
9e181c5b4f
Report stack overflow exceptions to V8 message listeners
...
Stack overflow exceptions like other JavaScript exceptions should be reported to listeners added via V8::AddMessageListener
Review URL: http://codereview.chromium.org/6816021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-08 09:39:45 +00:00