vegorov@chromium.org
264615745a
Revert r7504.
...
Deoptimization infrastructure implicitly uses caller_sp related addressing (where caller_sp is expected to point below outgoing arguments).
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6677160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-05 18:46:06 +00:00
vegorov@chromium.org
6d59c1b674
Always iterate outgoing arguments as a part of caller frame.
...
Change caller_sp() to always point to the place after outgoing arguments.
Review URL: http://codereview.chromium.org/6720049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-05 17:18:44 +00:00
fschneider@chromium.org
7ef5cec9ae
Remove environment length from HSimulate instructions.
...
It was only used in an ASSERT when reconstructing environments
at lithium translation time.
Review URL: http://codereview.chromium.org/6693062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-05 09:55:18 +00:00
ricow@chromium.org
3dd575ec0d
Add inline non-transcendental cache version of log to lithium.
...
In addition, this change allows one additional level of inlining.
Review URL: http://codereview.chromium.org/6720017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-05 09:21:02 +00:00
mikhail.naganov@gmail.com
c9904976f9
Simplify isolates access during stack iteration (WAS: Move SafeStackFrameIterator::active_count_...)
...
While trying to fix Mac and Windows versions for this change:
http://codereview.chromium.org/6771047/ , I figured out, that we
already store an isolate in StackFrameIterator, so we can use it in
frame objects, instead of requiring it from caller.
I've changed iterators usage to the following scheme: whenever a
caller maintains an isolate pointer, it just passes it to stack
iterator, and no more worries about passing it to frame content
accessors. If a caller uses current isolate, it can omit passing it
to iterator, in this case, an iterator will use the current isolate,
too.
There was a special case with LiveEdit, which creates
detached copies of frame objects.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6794019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-05 09:01:47 +00:00
ager@chromium.org
101413a0b6
Fix overlapping registers in external array stores on x64.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6794047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-05 07:57:35 +00:00
vitalyr@chromium.org
1ad59b9116
Cleanup of FACTORY macro and fix Irregexp Interpreter build in test-regexp.cc
...
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6793019/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 18:26:06 +00:00
sgjesse@chromium.org
1244225ba8
Extend crankshaft support for global stores
...
All global stores are now supported in crankshaft by using the normal store IC when other optimizations are not possible due to the state of the global object.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6693066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 15:03:34 +00:00
fschneider@chromium.org
71b2572547
Remove redundant data member from HChange instructions.
...
The target representation is already stored as part of HValue::representation().
Review URL: http://codereview.chromium.org/6794014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 08:57:21 +00:00
kmillikin@chromium.org
7dd6bb9144
Prepare push to trunk. Now working on version 3.2.8.
...
R=danno@chromium.org
Review URL: http://codereview.chromium.org/6693060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 08:16:54 +00:00
vitalyr@chromium.org
6c5c823830
Support placement new syntax for zone objects and start using it in the parser.
...
Review URL: http://codereview.chromium.org/6771058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 06:29:02 +00:00
vitalyr@chromium.org
d37b5750d1
Fix fast TLS support on Mac.
...
Review URL: http://codereview.chromium.org/6706018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 05:46:51 +00:00
ager@chromium.org
20bdf9a07d
Explicitly use icu namespace.
...
Chromium builds with U_USING_ICU_NAMESPACE=0, so we need this.
Landing for thakis@chromium.org .
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-04 02:56:34 +00:00
ager@chromium.org
ea8312ba33
Reapply: Never use classic code generator.
...
Crankshaft is now the default on all platforms. This is the first
patch on the way to removing the classic code generator from the
system.
This time with no removal of the crankshaft flag. --nocrankshaft is
not at all the same as --always-full-compiler which I had used instead
for testing. That was what caused timeouts on the buildbots because of
repeated attempts to optimize hot functions. It makes sense to keep
the crankshaft flag in case you want to run only with the full
compiler and with no adaptive compilation.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/6759070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 19:46:21 +00:00
vitalyr@chromium.org
24596cae32
Revert r7483 "Move SafeStackFrameIterator::active_count_ into an isolate."
...
It broke the Mac build.
Sampler::SampleStack() can't use Isolate::Current() when called from
the sampler thread (from SampleContext). We have to pass the isolate
pointer.
TBR=mikhail.naganov@gmail.com
Review URL: http://codereview.chromium.org/6791014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 16:21:26 +00:00
vitalyr@chromium.org
6952f68ee3
Fix non-ia32 build.
...
Review URL: http://codereview.chromium.org/6771052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 15:37:59 +00:00
mikhail.naganov@gmail.com
66446147f4
Move SafeStackFrameIterator::active_count_ into an isolate.
...
R=ager@chromium.org ,vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6771047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 15:23:18 +00:00
vitalyr@chromium.org
0b40589e73
Fix multi-isolate build:
...
o Make ia32 macro assembler work without an isolate and use it in the
custom memcpy creation code.
o Remove isolate-dependent code from the custom memcpy and modulo
functions creation code.
Review URL: http://codereview.chromium.org/6788007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 14:46:30 +00:00
sgjesse@chromium.org
8099bf3531
Revert "Never use classic code generator."
...
This reverts r7469 which might have caused the timeouts on the buildbot.
TBR=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6788009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 14:38:30 +00:00
whesse@chromium.org
1e815ed485
Fix presubmit error.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/6791011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 13:48:10 +00:00
whesse@chromium.org
ac5d0019bc
Revert "Made test.py not mention the defunct --crankshaft flag."
...
This reverts svn r7477.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6760027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 13:27:28 +00:00
whesse@chromium.org
04a6031597
Allow construction of x64 Assembler with a NULL Isolate.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 13:15:27 +00:00
lrn@chromium.org
65fb2cf9cb
Made test.py not mention the defunct --crankshaft flag.
...
Cleanup of X64 assembler.
Review URL: http://codereview.chromium.org/6764015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 13:07:37 +00:00
antonm@chromium.org
56b53dd5dc
Introduce v8::Object::CreationContext method.
...
That allows to find out a global context in which the object
was created.
Review URL: http://codereview.chromium.org/6759054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 12:17:20 +00:00
karlklose@chromium.org
b8d5fd7d32
Cleanup usage of HEAP in mark-compact.
...
Review URL: http://codereview.chromium.org/6760025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:59:00 +00:00
sgjesse@chromium.org
1e8079fcc9
Increase coverage of global loads in optimized code
...
In the cases where a global property cell cannot be used in the optimized code
use standard load ic to get the property instead of bailing out.
This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node.
Review URL: http://codereview.chromium.org/6758007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:54:04 +00:00
karlklose@chromium.org
6de158fc44
Do not try to execute empty programs.
...
After failing to read a non-existing file, the shell tried to execute the resulting empty program, which resulted in a null pointer dereference. This patch avoids execution of empty programs.
Review URL: http://codereview.chromium.org/6777005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:47:42 +00:00
vegorov@chromium.org
ae65366f0b
Fix SlotRef::SlotAddress for parameters indices.
...
Fix %NewObjectFromBound to correctly handle optimized frames (including those with inlined functions).
Fix %_IsConstructCall handling in hydrogen: when called from inlined function return false constant directly instead of emiting HIsConstructCall.
Fix success case in TraceInline.
BUG=v8:1229
TEST=test/mjsunit/regress/regress-1229.js
Review URL: http://codereview.chromium.org/6740023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:41:36 +00:00
danno@chromium.org
8d4303e06c
Fix Win64 build isolate problem
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6764014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:21:46 +00:00
vegorov@chromium.org
6153267de9
Minor cleanup in StaticMarkingVisitor.
...
Review URL: http://codereview.chromium.org/6780032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:21:36 +00:00
ager@chromium.org
1528bf7240
Never use classic code generator.
...
Crankshaft is now the default on all platforms. This is the first
patch on the way to removing the classic code generator from the
system.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 10:52:18 +00:00
sgjesse@chromium.org
74c2bdc3fe
Fix pc offset calculation for stack traces
...
Use the correct address of the code object to calculate the offset from the code object start to a pc for an optimized frame.
BUG=
TEST=
Review URL: http://codereview.chromium.org//6759052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 10:30:09 +00:00
antonm@chromium.org
71431d79a0
Do not create a SharedFunctionInfo for closures on each recompilation.
...
Unoptimized code should already keep a reference to the SharedFunctionInfo,
let's use it instead of allocating a new object and prohibiting SharedFunctionInfo
specific optimizations.
Review URL: http://codereview.chromium.org/6706016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 10:20:39 +00:00
danno@chromium.org
5f2b7a0f79
Fix minor issues in typed array load/store implementation
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6675043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 08:03:34 +00:00
ager@chromium.org
9eb3bfadd6
Implement %_IsStringWrapperSafeForDefaultValue in full code generators.
...
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/6689006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 08:02:12 +00:00
ager@chromium.org
92996f027f
Cleanup of Isolate::Current() and FACTORY macro usage in execution.cc.
...
BUG=none
TEST=none
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
Review URL: http://codereview.chromium.org/6759029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 08:01:33 +00:00
mark@chromium.org
c3b761cd42
Add missing #ifdef to lithium-gap-resolver-ia32.cc. This fixes the GYP-based
...
64-bit Mac build.
Review URL: http://codereview.chromium.org/6728035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 20:09:45 +00:00
vitalyr@chromium.org
179aef2b8f
VM initialization refactoring.
...
This patch introduces global once per-process initialization and moves
the OS and CPU setup there. This makes CPU features isolate-independent.
Review URL: http://codereview.chromium.org/6670119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 16:17:37 +00:00
whesse@chromium.org
fdd4773dfe
Remove counters from generated isolate-independent MemCopy on ia32 platform.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/6740019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 12:04:00 +00:00
erik.corry@gmail.com
bb0bb5f006
Untank build after last commit.
...
Review URL: http://codereview.chromium.org/6728021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 11:52:51 +00:00
erik.corry@gmail.com
3e59faef0c
Microoptimizations to the way we get the current heap.
...
Review URL: http://codereview.chromium.org/6759030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 10:55:53 +00:00
fschneider@chromium.org
107d9dc518
Improve property access with keys that can always be converted into a symbol string.
...
Review URL: http://codereview.chromium.org/6670115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 10:33:45 +00:00
lrn@chromium.org
1c57935a43
Reapply changelist r7436.
...
Remove test for existence of VM. Not all tests need the VM.
Review URL: http://codereview.chromium.org/6783011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 08:12:17 +00:00
vegorov@chromium.org
0d7b70ee22
Remove unused variable to please GCC 4.6.
...
Review URL: http://codereview.chromium.org/6777024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 20:14:55 +00:00
vitalyr@chromium.org
d89c753152
Only pass isolate parameter to C helper functions that need it.
...
Review URL: http://codereview.chromium.org/6778018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 18:05:16 +00:00
vegorov@chromium.org
ed36cde5d0
Autodetect no-strict-aliasing, propagate toolchain option to SCons
...
Patch by Bert Belder.
BUG=v8:884
Review URL: http://codereview.chromium.org/6539006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 17:33:18 +00:00
vitalyr@chromium.org
c52de3acd1
Try fix build.
...
TBR=slava
Review URL: http://codereview.chromium.org/6778019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 17:19:44 +00:00
vegorov@chromium.org
5378d727a1
Fix the Cygwin build after isolates merge.
...
Patch by Bert Belder.
Review URL: http://codereview.chromium.org/6776011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 17:16:36 +00:00
whesse@chromium.org
1358772e3b
Fix the bug in the bug fix.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/6731089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 16:04:37 +00:00
whesse@chromium.org
a910a50d1e
Fix unused variable bug in r7444.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/6759033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 15:56:29 +00:00