antonm@chromium.org
1f8399bdda
Partially revert r2761.
...
Do not create handles for values of internal fields---this operation is performance
critical and plain pointers are safe.
Appy the same approach to External wrapping and unwrapping.
Plus some minor refactorings.
Review URL: http://codereview.chromium.org/270085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-14 14:32:39 +00:00
fschneider@chromium.org
8d47ca4ed2
Fixed use of 'overwrite' flag for unary minus expressions.
...
Review URL: http://codereview.chromium.org/276018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-14 13:12:38 +00:00
vitalyr@chromium.org
a9880bde4d
Skip access checks for hidden properties.
...
Hidden properties are used like internal fields which do not have
access checks. The checks can cause problems because there may be no
current context. See http://crbug.com/24200 .
Review URL: http://codereview.chromium.org/271080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-14 11:19:55 +00:00
fschneider@chromium.org
d0dc31afab
New mjsunit tests for the new compiler infrastructure. They
...
are in a separate subdirectory called 'compiler' in the mjsunit directory.
Review URL: http://codereview.chromium.org/273039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-14 10:24:50 +00:00
christian.plesner.hansen@gmail.com
d6409e35a2
Implement ES5 Array.isArray
...
Patch by Jan de Mooij <jandemooij@gmail.com>
Review at http://codereview.chromium.org/271072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-14 09:42:13 +00:00
lrn@chromium.org
c8b0f822ee
Fix overflow in failure "requested size" field.
...
Review URL: http://codereview.chromium.org/275016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-14 09:26:16 +00:00
mikhail.naganov@gmail.com
a7c0c6e5c4
A follow-up to r3009: add parentheses around one more anonymous function.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/272045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 15:17:24 +00:00
yurys@chromium.org
a2549c96e8
Check that constructor is a FunctionMirror before calling .name(), otherwise we may end up calling name method on a mirror object that doesn't have it.
...
Review URL: http://codereview.chromium.org/271053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 14:28:09 +00:00
lrn@chromium.org
292323b355
X64: Fix bugs affecting Win64.
...
Increase stack space on Win64 sample and cctest executables.
Review URL: http://codereview.chromium.org/264047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 10:56:13 +00:00
kmillikin@chromium.org
ac731896da
Remove a redundant field in the FunctionLiteral class. The boolean
...
contains_array_literal_ implies materialized_literal_count_ > 0, and
we appear not to need to know about array literals specifically.
Review URL: http://codereview.chromium.org/272043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 09:37:17 +00:00
erik.corry@gmail.com
4ddc771c99
Use the USE_ARM_EABI macro consistently rather than the gcc-specific
...
__ARM_EABI__ macro to determine the ABI on ARM.
Review URL: http://codereview.chromium.org/274016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 08:58:24 +00:00
christian.plesner.hansen@gmail.com
cd3a47b6d2
Fixed trim test failure.
...
Review URL: http://codereview.chromium.org/273033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 08:29:19 +00:00
christian.plesner.hansen@gmail.com
f1354a299e
Add trim, trimLeft and trimRight methods to String
...
Based on a recent patch for Webkit.
trim is defined in ES 5 section 15.5.4.20.
Author: Jan de Mooij <jandemooij@gmail.com>
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-13 08:13:45 +00:00
kmillikin@chromium.org
a563800b4c
Initial implementation of printing the AST as a JSON string. This
...
implementation is not yet complete (it prints only the node name for
some AST constructs) and does not serialize everything needed to
reconstitute the AST.
It is motivated by a desire to prototype source-to-source
transformations in JavaScript itself (or anything else that can grok
JSON), but it should have other uses too.
Feedback is welcome.
Review URL: http://codereview.chromium.org/131101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-12 15:06:28 +00:00
kmillikin@chromium.org
b6a215700e
Add a pair of missing breaks to a switch statement.
...
Review URL: http://codereview.chromium.org/267050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-12 14:00:11 +00:00
whesse@chromium.org
3aaa04a1c2
Change sscanf to atoi in test-debug.cc to make lint happy.
...
Review URL: http://codereview.chromium.org/264033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-12 13:55:06 +00:00
kmillikin@chromium.org
586f94f292
Split the AST LoopStatement type into separate types for do/while,
...
while, and for loops.
Previously they were distinguished by a type field, which required
runtime asserts to avoid invalid nodes (since not all loop types have
the same internal structure). Now they C++ type system is used to
require well-formed loop ASTs.
Because they do not share compilation code, we had very large
functions in the code generators that merely did a runtime dispatch to
a specific implementation based on the type.
Review URL: http://codereview.chromium.org/269049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-12 13:14:06 +00:00
whesse@chromium.org
c67291155b
Changes to comments only, fixing errors and grammar.
...
Review URL: http://codereview.chromium.org/269050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-12 12:42:20 +00:00
lrn@chromium.org
5767628039
Removed 31-bit smis.
...
Review URL: http://codereview.chromium.org/267049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-12 11:19:20 +00:00
iposva@chromium.org
3f1db0218e
- Update Xcode project.
...
Review URL: http://codereview.chromium.org/268030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-10 00:38:44 +00:00
peter.rybin@gmail.com
de3e260e38
Make cctest test-debug.cc more accurate
...
Review URL: http://codereview.chromium.org/243036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-09 16:27:47 +00:00
ager@chromium.org
947992185a
Add missing null check in Context::GetCurrent.
...
Review URL: http://codereview.chromium.org/272007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-09 08:21:56 +00:00
sgjesse@chromium.org
8222bf3ba7
Get rid of JSExitStub which is no longer used anywhere.
...
Review URL: http://codereview.chromium.org/268016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 15:10:14 +00:00
sgjesse@chromium.org
8105ae3106
Optimize calls to GenericBinaryStub.
...
The calls to GenericBinaryStub can now pass the arguments in registers instead of on the stack. It is supported for ADD, SUB, MUL and DIV. The convention in GenericBinaryStub is not changed so the left operand is passed in edx and the right one in eax. When the stub contains smi code arguments are always passed on the stack as the smi code has to have left and right operands on eax and ebx, so moving from edx,eax to eax,ebx is not worth it and the smi code also trashes the registers so if arguments where passed in registers they would have to be saved on the stack anyway.
Added flags to disable the use of certain Intel CPU features to make it easier to test different code paths.
Review URL: http://codereview.chromium.org/246075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 14:27:46 +00:00
sgjesse@chromium.org
b9e7112d44
Add support for comisd and cmov in IA-32 disassembler.
...
Review URL: http://codereview.chromium.org/266014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 13:28:46 +00:00
lrn@chromium.org
830ba4e764
X64: Fix incompatability with previous revision.
...
And fix bug in debug-mode of 32-bit smi.
Review URL: http://codereview.chromium.org/261024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 13:09:28 +00:00
antonm@chromium.org
82a231412d
Introduce v8::Integer::NewFromUnsigned method.
...
Review URL: http://codereview.chromium.org/251100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 12:54:29 +00:00
lrn@chromium.org
aed6a37c10
X64: Convert smis to holding 32 bits of payload.
...
Review URL: http://codereview.chromium.org/196139
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 12:36:12 +00:00
kmillikin@chromium.org
7efd193326
Guard the debug check at the start of every JS function with
...
--debug-code so it is not normally compiled in debug builds.
Review URL: http://codereview.chromium.org/268014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 11:49:58 +00:00
sgjesse@chromium.org
b0bc50aa85
Get rid of unused label varaible.
...
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/261023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 08:53:09 +00:00
sgjesse@chromium.org
1bb3f68904
Fix a file name in the Visual Studio project files.
...
Review URL: http://codereview.chromium.org/266004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 07:10:10 +00:00
sgjesse@chromium.org
cab2794e95
Change clamping 0..255 instruction sequence for pixel array code.
...
The subb instruction added to the IA-32 assembler is not used as dec_b ended up being used instead.
There is a mesurable difference.
Review URL: http://codereview.chromium.org/246076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-08 07:09:46 +00:00
fschneider@chromium.org
6a949119eb
Added command line flag --sync_with_push (default: true) to
...
emit 'push' instead of 'sub esp, xxx' followed by 'mov' instructions
Reduces generated code size by 10-15% on several benchmarks.
Done on ia32 and x64 (no sync operation in the virtual frame on ARM
architecture)
Review URL: http://codereview.chromium.org/259058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-07 14:55:41 +00:00
sgjesse@chromium.org
61650a0ece
Prepare push to trunk. Now working on version 1.3.16.
...
Review URL: http://codereview.chromium.org/267004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-07 13:42:24 +00:00
whesse@chromium.org
8d2a9df504
Double the CodeRange on X64 to 512 MB.
...
Review URL: http://codereview.chromium.org/265006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-07 12:47:49 +00:00
mikhail.naganov@gmail.com
572a050102
Fix a crash in Logger::LogCompiledFunctions due to a presence of scripts with disposed source.
...
When starting JS profiling under Chromium, a map from function addresses to function names is created. During it, for sourceful scripts, an attempt to access script source is made. This can cause a crash, if a source is an external string, which already has been disposed. We had a similar problem in the past with DebugGetLoadedScripts.
BUG=http://crbug.com/23768
TEST=test-log/Issue23768
Review URL: http://codereview.chromium.org/269003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-07 12:20:02 +00:00
sgjesse@chromium.org
36773e2ff1
Add missing newline to ChangeLog.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/270002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-07 09:15:34 +00:00
sgjesse@chromium.org
8bc96eca76
Prepare push to trunk. Now working on version 1.3.15.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/262004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-07 07:24:51 +00:00
whesse@chromium.org
d9dd84d5e4
Clean up fixups of calls to builtins. Fix lint error.
...
Review URL: http://codereview.chromium.org/259057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-06 13:59:56 +00:00
whesse@chromium.org
cc0c626d70
Add near calls (32-bit displacement) to Code objects on X64 platform.
...
Review URL: http://codereview.chromium.org/200095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-06 13:11:05 +00:00
mike@belshe.com
83e621d331
Fix test error for IdleNotification() return code check.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-06 00:35:46 +00:00
mike@belshe.com
5191c81dff
Remove the high-priority flag from IdleNotification() since
...
it is a strange API and unused anyway.
When we roll this to Chrome, we'll need a small chrome patch
to fix Chrome's usage of the API.
Review URL: http://codereview.chromium.org/257035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-06 00:06:17 +00:00
whesse@chromium.org
35cf7a24ff
Recommit coderanges putting code objects within a 2 GB range, reserving only a 256 MB range of virtual memory for the code range.
...
Review URL: http://codereview.chromium.org/243087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-05 11:16:25 +00:00
whesse@chromium.org
bd1378eb20
Revert revisions 3013, 3014, and 3016. We need a better solution.
...
Review URL: http://codereview.chromium.org/251088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-05 10:50:55 +00:00
whesse@chromium.org
423de4d776
Add CHECK_INT64_EQ function to avoid operand size ambiguities.
...
Review URL: http://codereview.chromium.org/256048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-03 13:46:22 +00:00
antonm@chromium.org
359ad56264
Fast fix to make tree green.
...
Review URL: http://codereview.chromium.org/256041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-02 18:49:23 +00:00
mike@belshe.com
bec08c35ca
The error cases were returning false instead of true.
...
So if the caller does something like:
while(!IdleNotification())
it could spin forever if v8 were not initialized.
I'd like to further remove the is_high_priority flag,
because it is not in use. Mads - is there any reason
not to remove it?
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-02 17:26:50 +00:00
antonm@chromium.org
8925e8af0a
Add a method to convert unsigned C integer into V8 Integer.
...
Review URL: http://codereview.chromium.org/260002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-02 15:51:07 +00:00
christian.plesner.hansen@gmail.com
2c51696fc3
Changed Object.keys to return strings for element indices.
...
Review URL: http://codereview.chromium.org/246077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-02 13:43:16 +00:00
erik.corry@gmail.com
8cf140259d
Align the stack correctly on ARM on calls to fp operation helpers.
...
Review URL: http://codereview.chromium.org/259013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-02 13:36:20 +00:00